how to structure react applications